From 72be5b5baf1923fa224492c238fbb0739babff78 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Thu, 14 Jul 2011 13:24:19 +0100 Subject: [PATCH] libxl: add LIBXL_MAC_{FMT,FMTLEN,BYTES} Modelled after LIBXL_UUID_... (where I also add FMTLEN). signed-off-by: Ian Campbell Committed-by: Ian Jackson --- tools/libxl/libxl.c | 10 ++++------ tools/libxl/libxl.h | 3 +++ tools/libxl/libxl_dm.c | 10 ++++------ tools/libxl/libxl_uuid.h | 1 + tools/libxl/xl_cmdimpl.c | 4 +--- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index c032e80b9c..83d604cff5 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1215,9 +1215,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic) nic->script)); } flexarray_append(back, "mac"); - flexarray_append(back, libxl__sprintf(&gc, "%02x:%02x:%02x:%02x:%02x:%02x", - nic->mac[0], nic->mac[1], nic->mac[2], - nic->mac[3], nic->mac[4], nic->mac[5])); + flexarray_append(back,libxl__sprintf(&gc, + LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac))); if (nic->ip) { flexarray_append(back, "ip"); flexarray_append(back, libxl__strdup(&gc, nic->ip)); @@ -1235,9 +1234,8 @@ int libxl_device_nic_add(libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic) flexarray_append(front, "handle"); flexarray_append(front, libxl__sprintf(&gc, "%d", nic->devid)); flexarray_append(front, "mac"); - flexarray_append(front, libxl__sprintf(&gc, "%02x:%02x:%02x:%02x:%02x:%02x", - nic->mac[0], nic->mac[1], nic->mac[2], - nic->mac[3], nic->mac[4], nic->mac[5])); + flexarray_append(front, libxl__sprintf(&gc, + LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac))); libxl__device_generic_add(&gc, &device, libxl__xs_kvs_of_flexarray(&gc, back, back->count), libxl__xs_kvs_of_flexarray(&gc, front, front->count)); diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index da878e43b5..562937d0a2 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -139,6 +139,9 @@ #include typedef uint8_t libxl_mac[6]; +#define LIBXL_MAC_FMT "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx" +#define LIBXL_MAC_FMTLEN ((2*6)+5) /* 6 hex bytes plus 5 colons */ +#define LIBXL_MAC_BYTES(mac) mac[0], mac[1], mac[2], mac[3], mac[4], mac[5] typedef char **libxl_string_list; void libxl_string_list_destroy(libxl_string_list *sl); diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index dc110f2c0a..b9bf4b0209 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -173,9 +173,8 @@ static char ** libxl__build_device_model_args_old(libxl__gc *gc, } for (i = 0; i < num_vifs; i++) { if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) { - char *smac = libxl__sprintf(gc, "%02x:%02x:%02x:%02x:%02x:%02x", - vifs[i].mac[0], vifs[i].mac[1], vifs[i].mac[2], - vifs[i].mac[3], vifs[i].mac[4], vifs[i].mac[5]); + char *smac = libxl__sprintf(gc, + LIBXL_MAC_FMT, LIBXL_MAC_BYTES(vifs[i].mac)); char *ifname; if (!vifs[i].ifname) ifname = libxl__sprintf(gc, "tap%d.%d", info->domid, vifs[i].devid); @@ -364,9 +363,8 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, } for (i = 0; i < num_vifs; i++) { if (vifs[i].nictype == LIBXL_NIC_TYPE_IOEMU) { - char *smac = libxl__sprintf(gc, "%02x:%02x:%02x:%02x:%02x:%02x", - vifs[i].mac[0], vifs[i].mac[1], vifs[i].mac[2], - vifs[i].mac[3], vifs[i].mac[4], vifs[i].mac[5]); + char *smac = libxl__sprintf(gc, + LIBXL_MAC_FMT, LIBXL_MAC_BYTES(vifs[i].mac)); char *ifname; if (!vifs[i].ifname) { ifname = libxl__sprintf(gc, "tap%d.%d", info->domid, vifs[i].devid); diff --git a/tools/libxl/libxl_uuid.h b/tools/libxl/libxl_uuid.h index e68ab6c14e..03dc2df32b 100644 --- a/tools/libxl/libxl_uuid.h +++ b/tools/libxl/libxl_uuid.h @@ -16,6 +16,7 @@ #define __LIBXL_UUID_H__ #define LIBXL_UUID_FMT "%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx" +#define LIBXL_UUID_FMTLEN ((2*16)+4) /* 16 hex bytes plus 4 hypens */ #define LIBXL__UUID_BYTES(uuid) uuid[0], uuid[1], uuid[2], uuid[3], \ uuid[4], uuid[5], uuid[6], uuid[7], \ uuid[8], uuid[9], uuid[10], uuid[11], \ diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 5a11c633b5..dafd741dae 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -3989,9 +3989,7 @@ int main_networklist(int argc, char **argv) /* Idx BE */ printf("%-3d %-2d ", nics[i].devid, nics[i].backend_id); /* MAC */ - printf("%02x:%02x:%02x:%02x:%02x:%02x ", - nics[i].mac[0], nics[i].mac[1], nics[i].mac[2], - nics[i].mac[3], nics[i].mac[4], nics[i].mac[5]); + printf(LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nics[i].mac)); /* Hdl Sta evch txr/rxr BE-path */ printf("%6d %5d %6d %5d/%-11d %-30s\n", nics[i].devid, nics[i].state, nics[i].evtch, -- 2.30.2